package Packtrait

import censo.Registro
import Packtrait.CriterioFiltroEmpresa
import censo.Registro
import censo.Fuente

trait CriterioDeCondicionFiltro extends CriterioFiltroEmpresa {
  //////////
  def fuentesQueAportaronUnRegistro(anioComparar: Int): Set[Fuente] = ((this.filtrarRegistrosXcondicion.filter { r => r.anio == anioComparar }).map { r => r.getFuente }).toSet
////////// 
  def nombreDeLAEmpresaconMayorGananciaEn(anioAComparar: Int): String = (this.filtrarRegistrosXcondicion.filter(r => r.anio == anioAComparar && r.soyRegistroDeEmpresa)).sortBy(r => r.montoTotalDeGanancias).head.empresa.nombre
//////////
  def asociacionDeProvinciaYtotalDeVentas(anioCenso:Int): Map[String, Double] = {
    var resultado: Map[String, Double] = Map[String, Double]()
    this.filtrarRegistrosXcondicion.foreach { r: Registro => if (r.anio == anioCenso) resultado += (r.empresa.departamento._Provincia ._nombreProvincia  -> r.montoTotalDeVentas) }
    return resultado
  }
  

  
  
}